home *** CD-ROM | disk | FTP | other *** search
/ The Glitch Apple Disk Collection / 2014.glitch.apple.collection.zip / indexed / SPACEVIK.DSK / GROUND FORCES.bas < prev    next >
BASIC Source File  |  2014-09-09  |  7KB  |  95 lines

  1. 0  ONERR  GOTO 63999
  2. 10  HTAB 1:D$ = "<CTRL-D>"
  3. 11  PRINT D$;"OPEN MISC FILE": PRINT D$;"READ MISC FILE": INPUT SD: INPUT TR: INPUT CR: PRINT D$;"CLOSE"
  4. 12  POKE 974,64: PRINT : POKE 974,32: VTAB 1: HTAB 2: FOR C = 2 TO 13: VTAB C: PRINT "                  ": NEXT : IF R = 5  THEN R = 0: RETURN 
  5. 13 M =  PEEK(38153):P =  PEEK(38156):TP =  PEEK(38155):T =  PEEK(38154): HPLOT 1,1 TO 139,1 TO 139,110 TO 1,110 TO 1,1: VTAB 2: PRINT "  GROUND FORCES": PRINT 
  6. 14  IF  PEEK(29469) = 20  AND  PEEK(29470) = 0  AND  PEEK(38170) = 0  THEN  POKE 38170,17
  7. 30  PRINT "1) ATTACK PLANET": PRINT "2) RECALL TROOPS": PRINT "3) SHORE LEAVE"
  8. 40  PRINT "4) ENLIST TROOPS": PRINT "5) SELL LOOT": PRINT "6) REPAIR/RESTOCK"
  9. 50  PRINT "7) ESTABLISH BASE": PRINT "8) CRYOGENICS": PRINT "9) RETURN"
  10. 60  HCOLOR= 1: GET COM$:COM =  VAL(COM$): IF COM <1  THEN 60
  11. 62  HPLOT 1,1 TO 139,1 TO 139,110 TO 1,110 TO 1,1
  12. 65 R = 5: GOSUB 12: VTAB 2: IF COM >2  AND COM <7  AND  PEEK(38303 + PEEK(38209)) = 0  THEN  PRINT "NO BASE": GOTO 310
  13. 66  IF COM = 4  AND  PEEK(38158) < > PEEK(38209)  THEN  PRINT : PRINT "DO YOU REALLY": PRINT "EXPECT ANYONE TO": PRINT "ENLIST!? YOU LEFT": PRINT "YOUR TROOPS ON": PRINT "ANOTHER PLANET!": GOTO 310
  14. 67  IF COM = 1  AND  PEEK(38158) < > PEEK(38209)  THEN  PRINT : PRINT "YOU CAN'T ATTACK!": PRINT "YOU LEFT": PRINT "YOUR TROOPS ON": PRINT "ANOTHER PLANET!": GOTO 310
  15. 70  POKE 974,64: PRINT : ON COM GOTO 100,2000,2080,2150,2160,2170,2180,2190
  16. 75  IF COM = 9  THEN  PRINT D$;"RUN COM"
  17. 80  GOTO 12
  18. 100  POKE 974,32: POKE 32,0: POKE 33,40: POKE 34,0: POKE 35,16: HOME : FOR C = 1 TO 16: VTAB C: PRINT "                                        ": NEXT : HOME 
  19. 110  HCOLOR= 5: HPLOT 7,12 TO 271,12 TO 271,76 TO 7,76 TO 7,12
  20. 120  VTAB 2: HTAB 13: PRINT " GROUND FORCES": VTAB 4: HTAB 8: PRINT "BATTLE IN": VTAB 5: HTAB 8: PRINT "PROGRESS": IF  PEEK(38208) = 1  THEN  POKE 38150,25
  21. 130  VTAB 4: HTAB 24: PRINT "FIGHTERS:": HTAB 22: PRINT "TRANSPORTS:": HTAB 26: PRINT "TROOPS:": HTAB 27: PRINT "TANKS:": HTAB 24: PRINT "MISSILES:"
  22. 140  VTAB 10: HTAB 8: PRINT " COMPUTER ";: HTAB 25: PRINT "  STATUS  ": VTAB 11: HTAB 8: PRINT "PROJECTION"
  23. 145  VTAB 7: HTAB 5: PRINT "PROBABILITY": HTAB 6: PRINT "OF SUCCESS :"
  24. 150  POKE 38158, PEEK(38209): POKE 973,255
  25. 160  REM 
  26. 170  FOR C = 12 TO 15: VTAB C: PRINT "                                       ": NEXT : VTAB 12: IF R4 = 1  THEN R4 = 0: RETURN 
  27. 172  IF  PEEK(38207) = 1  AND  PEEK(38208) = 1  THEN 310
  28. 175  IF  PEEK(38155) = 0  THEN  PRINT "THERE ARE NO TRANSPORTS AVAILABLE!": GOTO 310
  29. 177  POKE 38166,1
  30. 178 T8 =  PEEK(38155) *1000: IF TR <T8  THEN T9 = 0: GOTO 180
  31. 179  IF TR > = T8  THEN T9 = TR -T8:TR = T8
  32. 180  PRINT "ALL TRANSPORTS AWAY, SIR!": FOR C = 1 TO 4000: NEXT : IF  PEEK(38210) = 0  THEN  PRINT "TRANSPORTS ENTERING ATMOSPHERE!"
  33. 185  FOR C = 1 TO 2000: NEXT : IF  PEEK(38156) >0  THEN  PRINT "FIGHTERS LAUNCHING FROM TRANSPORTS!"
  34. 190  FOR C = 1 TO 2000: NEXT C
  35. 195 R4 = 1: GOSUB 170
  36. 200 C =  PEEK(38282 + PEEK(38209))
  37. 210  ON C +1 GOTO 220,300,330,400,450
  38. 220  PRINT "PLANET IS NON HABITABLE. THERE IS NO": PRINT "ENEMY TO RESIST LANDING FORCE."
  39. 230  FOR C = 1 TO 3000: NEXT C:R4 = 1: GOSUB 160
  40. 240  GOSUB 740: GOTO 310
  41. 300  PRINT "PLANET IS VERY PRIMITIVE.": PRINT "THE LOCAL INHABITANTS ARE UNABLE TO": PRINT "RESIST THE LANDING FORCE!!!": PRINT "PLANET SECURE WITH MINIMUM OF FIGHTING!";: VTAB 12: HTAB 1
  42. 305  POKE 38150,0: FOR J = 1 TO 4000: NEXT : GOTO 500
  43. 310  POKE 974,64: POKE 38151,7: PRINT " ": PRINT "<CTRL-D>RUN COM"
  44. 330  PRINT "PLANET IS IN THE LIMITED ATOMIC STAGE": PRINT "OF DEVELOPMENT!": FOR C = 1 TO 3000: NEXT 
  45. 340  IF  PEEK(38208) = 0  THEN  PRINT "ATTACK FORCE IS MEETING RESISTANCE!!"
  46. 350  FOR J = 1 TO 4000: NEXT : GOTO 500
  47. 400  PRINT "PLANET HAS COMPARABLE TECHNOLOGY TO US!": VTAB 13: FOR C = 1 TO 3000: NEXT : PRINT "HEAVY COUNTER ATTACK HAS BEEN LAUNCHED!": VTAB 14
  48. 410  FOR J = 1 TO 4000: NEXT : GOTO 500
  49. 450  PRINT "PLANET HAS SUPERIOR TECHNOLOGY TO OURS!": VTAB 13: FOR C = 1 TO 3000: NEXT : IF  PEEK(38208) = 0  THEN  PRINT "THE ENEMY HAS LAUNCHED A VERY HEAVY": PRINT "COUNTER ATTACK!!!";: FOR C = 1 TO 1000: NEXT C: PRINT "   GOOD LUCK, SIR!!!"
  50. 480  FOR J = 1 TO 4000: NEXT 
  51. 500 TECH =  PEEK(38209):TECH =  PEEK(38282 +TECH):ET =  PEEK(38206) *500:M =  PEEK(38153)
  52. 510 SP =  PEEK(38150):VP =  PEEK(38160)
  53. 550 VIC =  RND(1) *(10 *TECH): IF VIC <20  THEN T1 = TECH *3:T2 = 500 +( RND(1) *20):T3 = 200 +( RND(1) *5):X =  RND(1) *(12/(TECH +.5)): GOTO 560
  54. 555 T1 = 1:T2 = 200 *( RND(1) *5):T3 = 500 +( RND(1) *5):X =  -( RND(1) *(10/(TECH +.5)))
  55. 560 T = T -( RND(1) *( RND(1) *5)):P = P -( RND(1) *( RND(1) *5)):M = M -( RND(1) *( RND(1) *5)):TP = TP -( RND(1) *1) +.5:TR = TR -( RND(1) *( RND(1) *(TECH *( RND(1) *T2))))
  56. 570 ET = ET -( RND(1) *( RND(1) *(3 *( RND(1) *T3)))): IF  PEEK(38205) >0  THEN X = X -( RND(1) *1)
  57. 572 PS = 100/(SP +.01):PS = PS *VP
  58. 575 X = X +( PEEK(38203) -3)
  59. 580 VP = VP +X: IF VP >255  THEN VP = 255
  60. 585  IF VP <0  THEN VP = 0
  61. 590  IF T <0  THEN T = 0
  62. 592  IF P <0  THEN P = 0
  63. 594  IF M <0  THEN M = 0
  64. 596  IF TP <0  THEN TP = 0
  65. 598  IF TR <0  THEN TR = 0
  66. 600  POKE 38156,P: POKE 38155,TP: POKE 38154,T: POKE 38153,M
  67. 650  GOSUB 4000:O =  PEEK( -16336) + PEEK( -16336) + PEEK( -16336) + PEEK( -16336): GOSUB 1100
  68. 660  IF VP =  >SP  THEN  POKE 38150,0:R4 = 1: GOSUB 170: VTAB 8: HTAB 18: PRINT "100%": VTAB 12: HTAB 1: PRINT "THE PLANET HAS SURRENDERED!": POKE 38208,1: POKE 38219 + PEEK(38209),1: GOTO 690
  69. 665  IF TR = 0  THEN  POKE 38166,0
  70. 670  IF TR = 0  THEN R4 = 1: GOSUB 160: HTAB 1: VTAB 12: PRINT "THE BATTLE IS LOST! ALL TROOPS": PRINT "HAVE BEEN DESTROYED!!!": PRINT "<CTRL-D>OPEN MISC FILE": PRINT "<CTRL-D>WRITE MISC FILE": PRINT SD: PRINT TR +T9: PRINT CR: PRINT "<CTRL-D>CLOSE": POKE 38151,7: POKE 38166,0: PRINT "<CTRL-D>RUNCOM"
  71. 675  FOR J = 1 TO 2000: NEXT 
  72. 680  GOTO 550
  73. 690  FOR J = 1 TO 5000: NEXT :R4 = 1: GOSUB 160: VTAB 12: HTAB 1: PRINT "TROOPS ARE NOW COLLECTING LOOT.": GOTO 800
  74. 740  POKE 38208,1: POKE 38219 + PEEK(38209),1: FOR J = 1 TO 4000: NEXT : RETURN 
  75. 800  PRINT "<CTRL-D>OPEN MISC FILE": PRINT "<CTRL-D>WRITE MISC FILE": PRINT SD: PRINT TR +T9: PRINT CR: PRINT "<CTRL-D>CLOSE"
  76. 805  PRINT "<CTRL-D>RUN COLLECT"
  77. 1100 K =  PEEK( -16384): IF K <128  THEN  POKE  -16368,0: RETURN 
  78. 1110  POKE  -16368,0:K = K -176
  79. 1115 K = 82
  80. 1120  IF K = 82  THEN R4 = 1: GOSUB 160: VTAB 12: HTAB 1: PRINT "GROUND FORCES RETREATING, SIR!": PRINT "PLANET NOT SECURED!":TR = TR +T9: PRINT "<CTRL-D>OPENMISC FILE": PRINT "<CTRL-D>WRITEMISC FILE": PRINT SD: PRINT TR: PRINT CR: PRINT "<CTRL-D>CLOSE":M =  PEEK(38203) -1
  81. 1121  IF M > -1  THEN  POKE 38203,M
  82. 1130  POKE 38151,7: PRINT D$;"RUN COM"
  83. 2000  PRINT "<CTRL-D>RUN RECALL"
  84. 2080  PRINT "<CTRL-D>RUN SHORE LEAVE"
  85. 2150  POKE 38388,1: PRINT "<CTRL-D>RUNSHORE LEAVE"
  86. 2160  POKE 38388,2: PRINT "<CTRL-D>RUNSHORE LEAVE"
  87. 2170  POKE 38388,3: PRINT "<CTRL-D>RUNSHORE LEAVE"
  88. 2180  POKE 38388,4: PRINT "<CTRL-D>RUNSHORE LEAVE"
  89. 2190  POKE 38388,5: PRINT "<CTRL-D>RUNSHORE LEAVE"
  90. 4000 P =  INT(P):TP =  INT(TP):TR =  INT(TR):T =  INT(T):M =  INT(M):PS =  INT((PS *100)/100)
  91. 4001  IF PS >100  THEN PS = 100
  92. 4010  POKE 973,0: VTAB 4: HTAB 33: PRINT P;" ": HTAB 33: PRINT TP;" ": HTAB 33: PRINT TR;" ": HTAB 33: PRINT T;" ": HTAB 33: PRINT M;" ": VTAB 8: HTAB 18: PRINT PS;"%": POKE 973,255: VTAB 12
  93. 4020  IF TR = 0  THEN  VTAB 6: HTAB 33: POKE 973,0: PRINT "    ": VTAB 6: HTAB 33: PRINT "0": POKE 973,255: VTAB 12
  94. 4030  RETURN 
  95. 63999  PRINT : PRINT "<CTRL-D>INT"